Automatic selection of user-oriented web content

ABSTRACT

A toolbar is provided, which may be downloaded and installed in a user&#39;s web browser. The toolbar uploads the user&#39;s browsing history to a server. The server determines, based on the browsing history, which sites the user visits frequently. Additionally, the server determines, based on an analysis of web content, which categories of content, and which concepts, the user is interested in based on the concepts and categories that occur frequently in the user&#39;s browsing patterns. The server identifies content of interest to the user—where such content may comprise frequently-updated content, such as news or RSS feeds—and provides a custom web page that shows or identifies the selected content.

CROSS-REFERENCE TO RELATED CASES

This application claims the benefit of U.S. Provisional PatentApplication No. 60/946,698, entitled “Customizable web feed service,”filed on Jun. 27, 2007.

BACKGROUND

Web content is most commonly found by a user-specified query. The userenters a query, in the form of a search string, into a search enginesuch as Google, Ask, etc., and a list of content items is returned.Certain search engines are focused on certain types of content. Forexample, the main search pages of Google and Ask focus on finding webpages, although most general-purpose search engines, including Googleand Ask, have specialized search pages that focus on finding news,images, videos or movies, local information, etc.

Content that can be found by this method traditionally takes forms suchas HyperText Markup Language (HTML), Portable Document Format (PDF), andothers, although newer formats such as RSS (which, at various times, hasstood for “Really Simple Syndication,” “Rich Site Summary,” and otherphrases) have become popular in recent times. RSS is often used todeliver content that changes frequently. News site and weblogs (“bogs”)are examples of content that changes frequently, and for which RSS iswell-suited. Many web sites that are devoted to changing content, suchas those of the major news services (e.g., the New York Times, CNN,etc.), or news services with a special focus (e.g., Valleywag,TechCrunch, etc.), provide RSS feeds on their sites. These RSS feeds mayprovide content that is updated recurrently to reflect recent events.The web sites of bloggers, such as those who cover politics, also maypost RSS feeds on their site that are recurrently updated with newcontent.

When a user browses the web, a record of the user's browsing is createdin the form of a search history. Browsers, such as Microsoft IE andFirefox, maintain a history of sites that the user has visited. Thebrowsing history typically records web sites that have been visited forsome number of weeks in the past (e.g., the last three weeks ofbrowsing). This record may reflect the user's browsing behavior, tastes,interests, preferences, etc. (as well as some web sites that have beenvisited accidentally).

Various applications may attempt to discover a user's interests, tastes,etc., for various purposes. For example, web advertisement generatorsmay use technologies such as cookies to track user behavior and totarget ads to the user based on assumptions about this behavior.Advertisement generators also direct targeted advertising to a userbased on the web site that is currently being visited—e.g., if a uservisits a weather web site in the winter, the advertising service maygenerate an advertisement for coats on the web page. Certain searchengines scan e-mail for keywords, and direct advertising to the userbased on the user's interest as indicated by the content of their e-mailconversations.

However, the foregoing services generally do not use the user's browsinghistory to select content that is appropriate for the user. Nor do theseweb sites use the browse history, or other mechanism, to identifycategories of recurrently-changing content that may interest the user.

SUMMARY

A tool can be provided for the user to download, which assists inproviding content based on the user's browsing behavior. The tool cantake the form of a toolbar, plug-in, extension, or add-on to beinstalled in a browser, an ActiveX control, a stand-alone application,etc. When the user downloads and installs the tool, the tool uploads theuser's browsing history to a server. The tool may request the user'spermission to upload the browsing history, or may otherwise notify theuser that the browsing history is being uploaded. The server analyzesthe user's browsing history, and identifies concepts and categories thatappear to be of interest to the user, based on the Uniform ResourceLocators (URLs) and titles that the user has visited. The server, or anentity that operates the server, may perform an analysis of various webcontent to determine the categories and concepts to which particular webcontent relate, and may use this information, combined with the user'sactual browsing history, to identify what categories and concepts ofinterest appear to be of interest to the user. The server may analyzeweb content before receiving a particular user's browsing history, sothat the analysis of existing web content can be ready to help identifythe user's categories and concepts of interest when a user starts usingthe tool and provides his or her browsing history. The server may store,in the form of a profile for the user, what the server has determined tobe the user's favorite categories, concepts and/or web sites. The toolmay continue to upload new browsing events to the server so that theserver can update the user's profile based on changes to the browsinghistory.

When the server has determined the categories and concepts in which theuser is interested, the server may use this information to suggestcontent of interest to the user. This content may be selected from news,blogs, or other frequently updated content, although any type of contentmay be selected. In one example, the server identifies a set of items(e.g., news items, RSS feeds, etc.) that appear to be of interest to theuser based on what the server has determined to be the user's favoriteconcepts and categories.

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription section. This summary is not intended to identify keyfeatures or essential features of the claimed subject matter, nor is itintended to be used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of window of a browser in which a toolbar hasbeen installed.

FIG. 2 is a flow diagram of an example process of collecting and using auser's browsing history.

FIG. 3 is a block diagram of an example arrangement in which the subjectmatter described herein may be implemented and/or deployed.

FIGS. 4-10 are views of user-interface displays that show certainfeatures of the subject matter described herein.

FIG. 11 is a block diagram of an example computing environment in whichthe subject matter described herein, or aspects thereof, may bedeployed.

DETAILED DESCRIPTION

FIG. 1 shows a browser window 100, where a toolbar has been installed ina browser. An instance of the Mozilla Firefox browser is running inwindow 100, although any other browser could be used instead, such asMicrosoft IE, Apple Safari, etc. The browser is extensible in the sensethat extensions, plug-ins, etc., can be installed therein. One type ofextension that can be installed is a toolbar. The toolbar 102 shown inFIG. 1 is one example of such a toolbar. Toolbar 102 provides, amongother things, a button 104 (labeled “Calypso” in FIG. 1, which is anexample name for some of the services described herein) which points thebrowser to certain web content that may be derived from a user'sprofile, as discussed in further detail below. Toolbar 102 also includesa button 106 that allows a user to access “settings”, and some detailsof these settings are also discussed in further detail below. Throughoutthis document, various functionality is shown as being provided througha toolbar, although such functionality can also be provided by othermechanisms, such as through an additional browser menu, an invisibleplug-in or add on that may not show visibly in the browser window, apop-up menu, a status bar icon, a button in a browser, a stand-aloneprogram, etc.

In addition to the functionality that is visible in the form of buttons104 and 106, toolbar 102 (or the extension, plug-in, program, etc., ofwhich it may be a part) may perform various actions, such as uploadingthe user's browsing history to a server, monitoring for changes in theuser's browsing history, and uploading those changes to the server,which can be used to update the user's profile to reflect new browsingevents.

FIG. 2 shows an example process whereby a user's browsing history may beharvested and used to select content for the user. It should be notedthat the various stages shown in FIG. 2, and in other flow diagramsherein, may be performed in the order shown, but may also be performedin various combinations or sub-combinations, or in a different order.Moreover, the stages in FIG. 2 and other flow diagrams can be performedin the systems shown herein, but can also be performed in other systems.

At 202, a user downloads a tool (e.g., an extension, plug-in, ActiveXcontrol, application, etc.). The tool may be installed in any manner,such as by installing an extension or plug-in into a browser where itoperates as a toolbar, by installing a stand-alone application on theuser's computer, etc.

At 204, the user's browsing history is uploaded to a server. Manybrowsers store a browsing history (e.g., the last three weeks worth ofURLs that have been visited). The browsing history is typically storedin a file or collection of files on the user's machine. Obtaining thisbrowsing history from the relevant file(s), and uploading it to theserver, can be performed by, or facilitated by, the tool. The user maybe asked for permission to upload the browsing history, or may have toexplicitly instruct the tool to upload the browsing history, or may beadvised that the browsing history is being uploaded. These are examplesof measures that can be taken to make the user aware of the relevantprivacy concerns.

It should be noted that it may be the case that the user's browsinghistory can be uploaded to a server, and content can be selected by theserver based thereon, with a relatively low level of input from theuser. For example, it may be the case that the user's involvement islimited to installing the toolbar, instantiating the toolbar software(or the browser of which the software is a part), and/or possiblyresponding to a communication concerning the uploading of the user'sbrowsing history (e.g., an inquiry as to whether the user will allow thebrowsing history to be uploaded).

At 206, the user's browsing history is analyzed by the server. Forexample, the server may examine the list of URLs that the user hasvisited (as indicated in the browsing history), and may identify whatconcepts and substantive categories are reflected in those URLs.(Concepts may be based on a catalogue of words that appear in particularweb content, while categories may be substantive groupings chosen by theserver's operators. For example, words like “money,” “stocks,” and“bonds” may be concepts, and human beings as the operator of the servermay have determined that “finance” is a substantive category whoserelevance in a particular piece of web content can be identified by theuse of words such as “money,” “stocks,” and “bonds.” Concepts andcategories can be either “flat” (e.g., “sparrows” or “stocks”), or canbe arranged in a hierarchy (e.g., “animals/birds/sparrows” or“money/investments/stocks”.)) At some time (e.g., prior to receiving theuser's browsing history), the server may have done an analysis ofcertain web sites in order to determine what concepts and substantivecategories particular URLs represent—e.g., the server may have examinedweb sites in the past and determined that a web site such as“www.theonion.com” relates to concepts such as humor, politics, andnews. If the user has visited that web site, then the server mayconclude, based on its analysis, that the user is interested in thoseconcepts. This conclusion may be made stronger if the user has visitedother web sites that, in the view of the server, relate to the same orsimilar concepts.

At 208, a profile is created based on analysis of the browsing history.As in the preceding example, if, based on the user's browsing history,the user often appears to visit web sites relating to humor, politics,and news, the server may put those concepts into the user's profile,possibly with values (e.g., numerical values) indicating how stronglythe user appears to affiliate with those concepts.

At 210, the profile is used to provide content to the user. For example,if analysis of the user's browsing history indicates that the user has ahigh affiliation with humor and politics, then web content that has beendetermined to incorporate these types of concepts may be selected forthe user. In one example, news content or blogging content, such as thatwhich might be contained in an RSS feed, may be selected for the user inorder to provide the user with fresh content that falls into categoriesof the user's interest, rather than old or static content. As anotherexample, content may be selected based on when it was last changed(e.g., content may be selected based on having been changed within thelast 24 hours, or some other duration of time, which may be specified bya user). As a further example, content may be selected based on whetherit is derived from a web site that offers an RSS feed, where sites thatoffer such feeds are selected based on a presumption that they are morelikely to offer fresh content. However, any type of content may beselected and provided. Examples are further discussed below of the typeof content that can be provided to the user, or the form in which it canbe provided. One such examples is that a page of links to content suchas news sites, RSS feeds, etc., can be provided to the user in visualassociation with the concepts to which these links relate.

In addition to an initial upload of the user's browsing history (asshown at 204), new browsing events may be uploaded to the server inorder to provide new browsing events and to reflect thecontinually-changing history of the user's browsing. Updates based onnew browsing events may be provided at 212, and the server may updatethe profile based on such new browser events (at 214). The profile, asupdated in this manner, may be used to provide content to the user (at210).

FIG. 3 shows an example arrangement of components in which a user'sbrowsing history may be used to provide content for that user. User'scomputer 302 is a computer, such as a desktop, laptop, handheld, etc.Browser 304 comprises browsing software that is stored in user'scomputer 302. Browser 304 may store a browsing history 306.Additionally, extension, plug-ins, ActiveX controls, etc., such astoolbar 308, may be installed in, or for use with, browser 304. FIG. 3shows browser 304 as being inside computer 302, although it should benoted that browser 304 need not be stored in computer 302, but could bestored in someplace usable by computer 302, such as on an external diskor network disk. Similarly, FIG. 3 shows browsing history 306 andtoolbar 308 as being inside browser 304, although this depiction ismerely a conceptual example, and these components could be locatedanyplace where they are usable in conjunction with browser 304.

User's computer 302 may communicate with another computer, such asserver 312, and such communication may take place through a network 310,such as the Internet. Server 312 may refer to a computer, or collectionof computers, that provide server-type functionality, or may refer tosoftware that provides such functionality. Server 312 may comprise orprovide one or more of the following: web content analysis component314, profile creation component 316, stored user profile(s) 318, and aselection component 320.

Web content analysis component 314 analyzes web content, such as HTMLweb pages, news items, RSS feeds, etc., and determines, for example,what types of concepts or substantive categories may be associated withthose web pages. For example, web content analysis component 314 mayanalyze web content and determine what types of concepts (e.g., stocks,java, flights, patents, etc.), or categories (e.g., technology, finance,society, etc.) may be associated with a particular URL. The analysis ofURLs may be an ongoing process in order to collect, and update, aknowledge base of the type of content that exists throughout the web.The result of this analysis can be stored, so that information about webcontent can be used to create a profile for a user based on URLs thatthe user has visited.

Profile creation component 316 creates a profile for a user, based oninformation about the user's interests, such as the user's browsinghistory. For example, profile creation component 316 may identify theconcepts and categories associated with particular URLs that the userhas visited (where those concepts and categories have been gleaned byweb content analysis component 314), and may include such concepts andcategories in the user's profile. Profile creation component 316 mayassign values (e.g., numeric weights) to specific concepts or categoriesbased on how much weight these concepts and categories appear to have inthe user's browsing history (e.g., concepts and categories may be givena higher or lower weight based on factors such as: how many differentURLs the user has visited that incorporate these concepts or categories,how often the user visits URLs associated with a particular concept orcategory, etc.) Additionally, profile creation component 316 may takeinto account explicit input from a user—e.g., a user may be allowed toexplicitly “subscribe” to a particular concept or category, which canthen be made part of the user's profile. (The concept or category towhich the user has subscribed can be one of the concepts or categoriesthat profile creation component 316 selected for the user based on theuser's browsing history, or it can be a category of that the userselects independently of his or her browsing history.)

Stored user profile(s) 318 are profiles that server 312 has stored forvarious user. For example, there may be thousands (or millions, or tensmillions, etc.) of users who install tool 308 and who choose to have aprofile create in order to receive content based on their interests.Stored profile(s) 318 may be part of a database that stores thesevarious profiles. Different users may each have accounts (or somemechanism to identify a particular user, such as a cookie) so that, whena given user contacts the server, that user can be identified and theright profile can be used.

Content selection component 320 selects content to be delivered to theuser based on the user's profile, and based on analysis of web content.The analysis of web content that is used to inform content selectioncomponent 320 may be created by web content analysis component 314. Inthis sense, it should be noted that the information that web contentanalysis component 314 generates about existing web content may have tworoles: first, it may be used as a way to create a profile for a user, byproviding data on what types of concepts and categories are associatedwith URLs that the user has visited; and second, it may be used as a wayto select new content for the user, by providing information on existingweb content that can be compared with the user's profile to select suchnew content. The content selected by content selection component 320 mayinclude, for example, news items, RSS feeds, web sites, etc. As notedabove, content selection component 320 may focus on “fresh”content—e.g., content that tends to be updated frequently, such as RSSfeeds, web sites that provide RSS feeds, web sites that have beenupdated in the last 24 hours, etc., although content selection component320 could select any type of content.

As previously noted, a user may upload his or her browsing history to aserver (e.g., to server 312), and the server may provide selectedcontent to the user based on the browsing history. In FIG. 3, the uploadof the user's browsing history information (322), and the provision ofcontent to the user by the server (324), are indicated by arrows. Theupload of the browsing history, and the download of the content, may beperformed through network 310.

FIGS. 4-11 show various features, as such features might be displayed ona web site. For example, server 312 may implement a web site thatprovides various features through a web browser, and what is shown inFIGS. 4-11 may indicate how these features would be seen as web pagesdelivered through a web browser. However, it should be understood thatthe depictions of these features in FIGS. 4-11 are merely examples, andthese features can be used in any context or system.

In FIG. 4, toolbar 102 has been installed in a browser. One feature oftoolbar 102 is settings button 106. Settings button 104 may have adrop-down menu, which includes various options. These options mayinclude: A “learning on” option 404; a “learning off” option 406; a“settings” option 408; an option to delete and upload history (410); anoption to send the current browse history (412); and an option to do aninitial run and/or register a user (414).

Learning refers to a process whereby new browsing events are uploaded tothe servers after an initial upload of the user's browsing history.(E.g., as discussed above in connection with FIG. 2 at 212 and 214.) Thelearning on and off options (404 and 406) may be used to turn thisfeature on or off. For example, if a user wants to keep browsing privateand not communicate the details of the user's browsing to server 312(shown in FIG. 3), the user may use option 406 to turn browsing off, andmay then use option 404 to turn browsing on later (e.g., if privacy isno longer a concern). Pages that are secure (e.g., those accessed with“https”), may be omitted from the learning process, which may assist inpreserving the user's privacy.

Setting option 408 allows various parameters to be set for toolbar 102.For example, settings 408 may generate a dialog box where the user canset the identity of one or more servers that are involved in theprocesses of receiving the user's browsing history and providing contentto the user based on the profile. As another example, toolbar 102 mayprovide running content, such as news ticker 416, and the dialog boxprovided when settings option 408 is selected may allow the news tickerto be turned on or off.

Option 410 may be used to start the user's profile over—e.g., bydeleting the user's profile from the server and uploading the user'scurrent browsing history anew. Similarly, option 412 may be used toupload the user's browsing history, but without deleting an old browsinghistory. Option 414 may be used to start the initial registration of theuser—e.g., the process whereby a user name and password are set, so thatwhen the browsing history is uploaded and the profile is created, therewill be a particular user with whom to associate the profile.

In FIG. 5, toolbar 102 is shown, including button 104. Button 104 mayprovide a drop-down menu that includes options 502, 504, and 506. Whenoption 502 is selected, the user may be brought to a web page thatprovides certain customized content for the user (such as the page shownin FIG. 6, as discussed below). When option 504 is selected, the usermay be brought to a page showing real-time news. When option 506 isselected, the user may be brought to a page showing the user's profile(such as the page shown in FIG. 10, as discussed below). Clicking button104, without pulling down the drop-down menu, may result in a defaultone of options 502, 504, and 506 being selected—e.g., clicking button104 may, by default, select option 502 and bring the user to the webpage discussed below in connection with FIG. 6.

In FIG. 6, toolbar 102 is shown, and the page shown in the browserwindow may be the page generated by clicking button 104 (shown in FIG.5). For example, clicking that button may bring the user to a page namedhttp://news.kosmix.com/calypso/home, and may upload the userlogin/account/registration information as part of the request for thatpage (e.g., as part of a POST request).

The resulting page that is returned contains certain information thathas been customized for the user, which may be based on a profile forthe user. This information may have been created based the user'suploaded browse history, and also based on updates generated through thelearning process mentioned above. The page may include a list offavorite sites 602, and a list of favorite topics 604. For example,favorite sites 602 may include the web sites most frequently visited bythe user, as indicated by his or her browsing history. The list offavorite topics 604 may include a list of topics (e.g., concepts,substantive categories, etc.) in which the user is, or appears to be,interested, as indicated by an analysis of his or her browsing history.The list of favorite topics and/or sites may also include sites and/ortopics in which the user has explicitly indicated interest. (The sitesin which the user explicitly indicates interest may or may not beincluded among those sites or topics in which the user's interest wasidentified based on an analysis of the user's browsing history.) Thosesites or topics in which the user explicitly indicates interest may bemarked with some type of indicator (e.g., star 618). For example, inFIG. 6, CDMA is a topic to which the user has explicitly subscribed, asindicated by the star next to that topic.

Regarding the list of favorite sites 602, within the list there may bean identification of a particular site 606, as well as a list 608 of oneor more recent items that have been posted on the site. For example, ifa particular web site in list 602 has an RSS feed associated with it,then the recent items list 608 may contain recent additions to the RSSfeed. Regarding the list 604 of favorite topics, this list may includetopics—e.g., topics 610. For a given topic, there may be a list 612 ofone or more content items that relate to that topic. In one example, thecontent items in list 612 may be RSS feeds, or other frequently updateditems, although the content in list 612 may include more traditionalcontent items, such as HTML web pages.

Next to a given topic or site in list 602 or 604, there may be one ormore indicators 614 of the type of content that exists at that site. Forexample, letters next to the various sites and topics may indicate thepresence of video (V), audio (A), a podcast (P), a blog (B), a comment(C), or news (N). As an alternative to the letters, symbols or someother type of indicator could be used.

Additionally, there may be one or more controls 616 next to the varioussites or topics, which the user can click to perform various actions. Inthe example of FIG. 6, controls include an “x” (indicating the userwishes to remove the site or topic from the list and from the user'sprofile), and “luv” (indicating that the user “loves” the topic or siteand wishes to subscribe to it explicitly).

In FIG. 7, a list 702 of favorite sites is shown. For example, the usermay be able to click the “Fave Sites” link, and view a list of sitessimilar to the list 602 (shown in FIG. 6). However, since the full pageshown in FIG. 7 is devoted to the favorite sites, list 702 may containadditional information or more detail than list 602. Similarly, FIG. 8shows a list 802 of topics, which may be similar to the list 604 (shownin FIG. 6), but since the full page is devoted to a list of topics, list802 may contain additional information or more detail than list 604. Thepage shown in FIG. 8 may be obtained, for example, by clicking the “FaveTopics” link.

In FIG. 9, a page is shown whereby a user may add a custom view. Thepage of FIG. 9 may be reached, for example, by clicking the “Customize”link. The page includes a box 902 where a name for the view may beentered, a box 904 where a description of the view may be entered, and abox 906 where a set of concepts on which the view is to be based may beentered. For example, referring back list 604 in FIG. 6, topics in thislist are associated with a list of content items that relate to thosetopics. If a custom view were created using the page in FIG. 9, then anitem having the name entered in box 902 could appear in the list oftopics, and content items based on the concepts specified in box 904could appear next to that item. The custom-created “view” could thenappear as a topic either in the topics list 604 of FIG. 6, or in thelist 802 of FIG. 8.

FIG. 10 shows an example profile for a user, as displayed in a webbrowser. The profile, in this example, includes a list of categories1002, a list of sites 1004, and a list of concepts 1006. The profile, aspreviously noted, can be generated from a browsing history. The list1004 of sites may be derived from the list of URLs that the user hasvisited, as indicated in the browsing history. Moreover, the list 1002of categories, and the list 1006 of concepts, may be derived from thosecategories and concepts that are associated with the URLs that the userhas visited. The page may also give the user the opportunity to addconcepts or sites explicitly, through boxes 1008 and 1010. The page mayalso allow categories and concepts to be deleted (e.g., by clicking thesymbol “x” next to a particular site, category, or concept). The pagemay also list sites and concepts that the user “loves” (e.g., that theuser has explicitly subscribed to, such as by clicking the “luv” symbolnext to a site or concept, as described above). Sites or concepts towhich the user has explicitly subscribed may be indicated in the“Concepts [or sites] I love” lists in the page, or may be indicated witha star (or other symbol), as previously described.

Categories, sites, and concepts may be associated with a score (e.g.,score 1012), which may indicate the weighted importance of a particularcategory, site, or concept in the user's profile. For example, sitesthat the user has visited frequently (or that are otherwise prevalent inthe user's browsing patterns) may receive a high score, while sites thatthe user has visited infrequently may receive a low score. Similarly,categories and concepts that arise frequently, based on the URLs thatthe user has visited, may receive high scores, and categories andconcepts that do not arise frequently based on those URLs may receivelow scores. The relative importance of particular categories, sites, andconcepts may, for example, be used to identify which sites and topicsshould appear at the top of the lists shown in FIGS. 6-9.

FIG. 11 shows an example environment in which aspects of the subjectmatter described herein may be deployed.

Computer 1100 includes one or more processors 1102 and one or more dataremembrance devices 1104. Processor(s) 1102 are typicallymicroprocessors, such as those found in a personal desktop or laptopcomputer, a server, or a handheld computer. Data remembrance device(s)1104 are devices that are capable of storing data for either the shortor long term. Examples of data remembrance device(s) 1104 include harddisks, removable disks (including optical and magnetic disks), volatileand non-volatile random-access memory (RAM), all types of read-onlymemory (ROM), flash memory, magnetic tape, etc. Data remembrancedevice(s) are examples of computer-readable storage media.

Software may be stored in the data remembrance device(s) 1104, and mayexecute on the one or more processor(s) 1102. An example of suchsoftware is content experience customization software 1106, which mayimplement some or all of the functionality described above in connectionwith FIGS. 1-10. Software 1106 may be implemented, for example, throughone or more subsystems 1112; these subsystems may be components in adistributed system, separate files, separate functions, separateobjects, separate lines of code, etc. A personal computer in which aprogram is stored on hard disk, loaded into RAM, and executed on thecomputer's processor(s) typifies the scenario depicted in FIG. 11,although the subject matter described herein is not limited to thisexample.

The subject matter described herein can be implemented as software thatis stored in one or more of the data remembrance device(s) 1104 and thatexecutes on one or more of the processor(s) 1102. As another example,the subject matter can be implemented as software having instructions toperform one or more acts, where the instructions are stored on one ormore computer-readable media. In addition to being stored on storagemedia, instructions can be carried on communications media—e.g., in theform of electrical signals, magnetic signals, optical signals, etc.,that exist ephemerally.

In a typical environment, computer 1100 may be communicatively connectedto one or more other devices through network 1106. Computer 1110, whichmay be similar in structure to computer 1100, is an example of a devicethat can be connected to computer 1100, although other types of devicesmay also be so connected. User's computer 302 and server 312 (shown inFIG. 3) may each be examples of computers 1100 and 1110.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

1. A method of providing content to a user, the method comprising:receiving, from a computer associated with the user, a browsing history;identifying one or more concepts associated with one or more UniformResource Locators (URLs) in said browsing history; selecting one or moreitems of web content based on a first relationship between said one ormore concepts and said one or more items; and providing, to the user, anidentification of said one or more items of web content.
 2. The methodof claim 1, further comprising: downloading, to said computer, toolbarsoftware that implements a toolbar that is installable in a browser fromwhich said browsing history was generated; wherein said toolbar uploadssaid browsing history from said computer to a server.
 3. The method ofclaim 2, wherein said toolbar displays recurrently-changing news itemsin a space of a window of said browser that is reserved for saidtoolbar.
 4. The method of claim 2, wherein said toolbar solicits theuser's permission to upload said browsing history prior to saidreceiving.
 5. The method of claim 2, wherein said toolbar recurrentlyuploads new events in said browsing history to said server.
 6. Themethod of claim 2, wherein said toolbar has a learning mode that can beturned on and off at election of the user, wherein said toolbarrecurrently uploads new events in said browsing history to said serverwhen said learning mode is turned on, and wherein said toolbar does notupload new events in said browsing history to said server when saidlearning mode is turned off.
 7. The method of claim 2, wherein saidselecting is performed either without any action by the user, or withoutany action by the user other than one or more of the following:installation of said toolbar; instantiation of said toolbar; andresponding to a communication concerning uploading of the browsinghistory.
 8. The method of claim 1, wherein said first relationshipcomprises a matching between concepts associated with said one or moreitems of web content and concepts associated with said URLs in saidbrowsing history.
 9. The method of claim 1, further comprising: creatinga set of one or more categories in which substance of web content mayfall; and identifying one or more of said categories that are associatedwith said one or more URLs; and wherein said selecting is further basedon a second relationship between said one or more categories and saidone or more items.
 10. The method of claim 1, further comprising: priorto said receiving, analyzing existing web content to identify whichconcepts are associated with content located at particular URLs;recording one or more results of said analyzing; and using said one ormore results in said selecting.
 11. The method of claim 1, wherein saidselecting is further based on a determination of which web sites providefeeds, and wherein said selecting omits, from said one or more items ofweb content, those items located on web sites that do not provide feeds.12. The method of claim 1, wherein said selecting is further based onwhether the content has been updated within a duration of time, andwherein said selecting omits, from said one or more items of webcontent, those items that have not been updated within said duration oftime.
 13. The method of claim 12, further comprising: receiving, fromthe user, a specification of said duration of time; and setting saidduration of time in accordance with said user's specification.
 14. Themethod of claim 1, wherein said providing comprises: transmitting, tosaid computer, a page that is displayable in a browser and thatcomprises: a list of one or more topics, where each of said topics isvisually grouped with one or more of said identifications of one or moreitems of web content, the grouping of said topics with saididentifications being based on whether concepts associated with saidtopic are included in said items of web content.
 15. The method of claim1, further comprising: creating a profile for the user, wherein theprofile comprises said one or more concepts, and wherein said selectingis based on said profile.
 16. The method of claim 15, furthercomprising: receiving, from said user, an identification of a firstconcept that the user specifies to be included in said profile; andincluding said first concept in said profile.
 17. The method of claim16, wherein said first concept is included within said one or moreconcepts.
 18. The method of claim 16, wherein said first concept is notincluded within said one or more concepts, and is not identified basedon a server's analysis of said browsing history.
 19. The method of claim16, wherein said providing comprises: communicating, to the user, a pagecomprising: (a) said first concept, and (b) a visual cue indicating thatsaid first concept has been explicitly specified by the user.
 20. Themethod of claim 15, wherein said profile further comprises a set ofcategories of web content and a set of one or more web sites indicatedby said one or more URLs in said browsing history.
 21. The method ofclaim 20, wherein said profile further comprises one or more numericalvalues associated with at least one of said concepts, categories, andsites, wherein said one or more numerical values indicate prevalence ofsaid concepts, categories, or sites in said browsing history.
 22. One ormore computer-readable storage media comprising executable instructionsto perform a method comprising: installing a toolbar in a browser thatruns on a computer; uploading, to a server, a browsing history generatedby use of said browser; receiving, from said server, one or more contentitems that are selected by said server based on said browsing history;and communicating said one or more content items, or an indication ofsaid one or more content items, to said user.
 23. The one or morecomputer-readable media of claim 22, wherein the method furthercomprises: receiving, from said user, an indication of whether saidtoolbar is to be operated with learning mode on or learning mode off,wherein said toolbar uploads updates to said browsing history when saidlearning mode is on, and wherein said toolbar does not upload updates tosaid browsing history when said learning mode is off.
 24. A systemcomprising: one or more processors; one or more data remembrancedevices; software that is stored in said one or more data remembrancedevices and that executes on said one or more processors, said softwarecomprising one or more subsystems, said one or more subsystemscomprising: a first subsystem that implements a web browser and thatrecords a history of Uniform Resource Locators (URLs) visited with saidweb browser; a second subsystem that implements a toolbar installed insaid web browser, said second subsystem uploading said history to aserver without said user having to perform an action other than one ormore of the following: (a) installation of said toolbar; (b)instantiation of said toolbar; (c) responding to a communicationconcerning uploading of said history, said web browser displaying, tosaid user, content, or an indication of said content, that is receivedfrom said server that is selected based on a relationship betweenconcepts derived from said URLs and concepts contained in said content.25. The system of claim 24, wherein said content, or said indication ofsaid content, is selected based further on whether said content isderived from a web site that provides an RSS feed, wherein content thatis derived from web sites that do not provide RSS feeds is not selected.26. A system that provides content to a user, the system comprising:means for receiving, from a computer associated with the user, abrowsing history; means for identifying one or more concepts associatedwith one or more Uniform Resource Locators (URLs) in said browsinghistory; means for selecting one or more items of web content based on arelationship between said one or more concepts and said one or moreitems; and means for providing, to the user, an identification of saidone or more items of web content.
 27. The system of claim 26, furthercomprising: means for providing a toolbar that is installable in abrowser that generates said browsing history.
 28. The system of claim26, wherein said means for selecting selects said one or more items ofweb content further based on whether said items of web content arederived from web sites that provide RSS feeds, wherein items of webcontent derived from web sites that do not offer RSS feeds are notselected.
 29. A system comprising: means for installing a toolbar in abrowser that runs on a computer; means for uploading, to a server, abrowsing history generated by use of said browser; means for receiving,from said server, one or more content items that are selected by saidserver based on said browsing history; and means for communicating saidone or more content items to said user.